<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>种鸡存栏明细表</title>
    <!-- 引入 SheetJS 库 -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
    <script>
        function exportToExcel() {
            // 获取表格元素
            const table = document.getElementById('inventoryTable');

            // 将表格转换为工作簿
            const workbook = XLSX.utils.table_to_book(table);

            // 生成 Excel 文件并下载
            XLSX.writeFile(workbook, 'InventoryData.xlsx');
        }
    </script>
    <link rel="stylesheet" th:href="@{/css/styles.css?v=1.0}"/>
</head>
<body>
<h1>存栏明细表</h1>
<!-- 导出按钮 -->
<button onclick="exportToExcel()">导出到excel表格</button>
<!-- 表格 -->
<table id="inventoryTable" border="0">
    <thead>
    <tr>
        <th>日期</th>
        <td th:text="${date}"></td>
    </tr>
    <tr>
        <th>农场</th>
        <th>存栏总数</th>
        <th>母鸡总数</th>
        <th>公鸡总数</th>
        <th>栋舍</th>
        <th>公鸡数</th>
        <th>母鸡数</th>
    </tr>
    </thead>
    <tbody>
    <!-- 遍历每个农场 -->
    <th:block th:each="product : ${inventoryNumbers}">
        <!-- 检查是否有栋舍数据 -->
        <th:block th:if="${not #maps.isEmpty(product.invQty)}">
            <!-- 第一行（显示第一个栋舍及合并单元格） -->
            <tr>
                <td th:text="${product.orgName}"
                    th:rowspan="${#maps.size(product.invQty)}"></td>
                <td th:text="${product.totamNum}"
                    th:rowspan="${#maps.size(product.invQty)}"></td>
                <td th:text="${product.gNum}"
                    th:rowspan="${#maps.size(product.invQty)}"></td>
                <td th:text="${product.mNum}"
                    th:rowspan="${#maps.size(product.invQty)}"></td>
                <!-- 取第一个栋舍的信息 -->
                <td th:text="${product.invQty.entrySet().iterator().next().key}"></td>
                <td th:text="${product.invQty.entrySet().iterator().next().value.getgNum()}"></td>
                <td th:text="${product.invQty.entrySet().iterator().next().value.getmNum()}"></td>
            </tr>
            <!-- 剩余栋舍行（从第二个开始遍历） -->
            <th:block th:each="entry : ${product.invQty.entrySet()}">
                <tr th:if="${entryStat.index} > 0">
                    <td th:text="${entry.key}"></td>
                    <td th:text="${entry.value.getgNum()}"></td>
                    <td th:text="${entry.value.getmNum()}"></td>
                </tr>
            </th:block>
        </th:block>
        <!-- 如果 invQty 为空（显示一行无数据信息） -->
        <tr th:if="${#maps.isEmpty(product.invQty)}">
            <td th:text="${product.orgName}"></td>
            <td th:text="${product.totamNum}"></td>
            <td th:text="${product.gNum}"></td>
            <td th:text="${product.mNum}"></td>
            <td colspan="3">无栋舍数据</td>
        </tr>
    </th:block>
    </tbody>
</table>
</body>
</html>